package com.efast.cafe.portal.dao.statemach;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.efast.cafe.portal.bean.statemach.PortalStateMachHandle;
import com.efast.cafe.portal.bean.statemach.PortalStateMachHandleBean;
import com.efast.cafe.portal.bean.statemach.PortalStateMachHandleQueryBean;


public interface PortalStateMachHandleDao {

	/**
	 * 新增操作
	 * 
	 * @param handle
	 */
	//@SaveOrUpdateOrDelControl
	void insertHandle(PortalStateMachHandle handle);

	/**
	 * 编辑操作
	 * 
	 * @param handle
	 */
	//@SaveOrUpdateOrDelControl
	void updateHandle(PortalStateMachHandle handle);

	/**
	 * 删除操作
	 * 
	 * @param id
	 */
	//@SaveOrUpdateOrDelControl
	void deleteHandle(PortalStateMachHandle handle);

	/**
	 * 获取操作列表
	 * 
	 * @param queryBean
	 * @return
	 */
	//@PaginationControl(true)
	List<PortalStateMachHandle> queryHandlePageList(PortalStateMachHandleQueryBean queryBean);

	/**
	 * 获取操作数量
	 * 
	 * @param queryBean
	 * @return
	 */
	Integer queryHandlePageCount(PortalStateMachHandleQueryBean queryBean);

	/**
	 * 根据关系获取操作列表
	 * 
	 * @param confId
	 * @param stateId
	 * @return
	 */
	List<PortalStateMachHandleBean> queryHandleListByRel(@Param(value = "confId") Long confId,
			@Param(value = "stateId") Long stateId);
	
	void deleteHandleByConfId(@Param(value = "confId") Long confId);
}
